home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 26
/
CU Amiga Magazine's Super CD-ROM 26 (1998)(EMAP Images)(GB)[!][issue 1998-09].iso
/
CUCD
/
Utilities
/
Freedom
/
Install TrueType Font
< prev
next >
Wrap
Text File
|
1998-07-16
|
18KB
|
617 lines
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
;| |
;* S T R I N G S *
;| |
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
(set #MSG_INTRO "\nWith this script you can install new truetype fonts. Do you want to continue?")
(set #MSG_NOFONTDIR "\nYou forgot to run the \"Prepare Font Directory\" script. You can't continue before having done that ...");
(set #MSG_SELECTFONT "Choose the truetype font you want to install (file must end in \".ttf\" or \".ttc\")!");
(set #MSG_NOTEXIST "\nFont file does not exist!? Try again ...")
(set #MSG_BADFILE "\nDidn't I say, that the file must end in \".ttf\" or \".ttc\"!?")
(set #MSG_CREATE_FONT "\nCreating font contents file (\"%s\") in \"%s\" ...")
(set #MSG_COPY_TT "\nCopying truetype font file (\"%s\") to \"%s\" ...")
(set #MSG_OTAG "\nNow you will be asked for some information needed to create the outline tag file ...")
(set #MSG_OTAG_FAMILY "\nEnter a family name for the font!")
(set #MSG_OTAG_YSIZEFACTOR_HIGH "\nEnter YSizeFactor high word!")
(set #MSG_OTAG_YSIZEFACTOR_LOW "\nEnter YSizeFactor low word!")
(set #MSG_OTAG_SPACEWIDTH "\nEnter SpaceWidth factor!")
(set #MSG_OTAG_FIXED "\nIs the font proportional (non-fixed)?")
(set #MSG_OTAG_SERIF "\nIs the font serif less?")
(set #MSG_OTAG_STEMWEIGHT "\nEnter StemWeight!")
(set #MSG_SW_ULTRATHIN "\x1B[2pUltra thin")
(set #MSG_SW_EXTRATHIN "Extra thin")
(set #MSG_SW_THIN "Thin")
(set #MSG_SW_EXTRALIGHT "Extra light")
(set #MSG_SW_LIGHT "Light")
(set #MSG_SW_DEMILIGHT "Demi light")
(set #MSG_SW_SEMILIGHT "Semi light")
(set #MSG_SW_BOOK "Book")
(set #MSG_SW_MEDIUM "Medium")
(set #MSG_SW_SEMIBOLD "Semi bold")
(set #MSG_SW_DEMIBOLD "Demi bold")
(set #MSG_SW_BOLD "Bold")
(set #MSG_SW_EXTRABOLD "Extra bold")
(set #MSG_SW_BLACK "Black")
(set #MSG_SW_EXTRABLACK "Extra black")
(set #MSG_SW_ULTRABLACK "Ultra black")
(set #MSG_OTAG_SLANTSTYLE "\nEnter SlantStyle!")
(set #MSG_SLANTSTYLE_NORMAL "\x1B[2pUpright (normal)")
(set #MSG_SLANTSTYLE_ITALIC "Italic")
(set #MSG_SLANTSTYLE_LEFTITALIC "Left Italic")
(set #MSG_OTAG_HORIZSTYLE "\nEnter HorizStyle!")
(set #MSG_HS_ULTRACOMPRESSED "\x1B[2pUltra compressed")
(set #MSG_HS_EXTRACOMPRESSED "Extra compressed")
(set #MSG_HS_COMPRESSED "Compressed")
(set #MSG_HS_CONDENSED "Condensed")
(set #MSG_HS_NORMAL "Normal")
(set #MSG_HS_SEMIEXPANDED "Semi expanded")
(set #MSG_HS_EXPANDED "Expanded")
(set #MSG_HS_EXTRAEXPANDED "Extra expanded")
(set #MSG_OTAG_SIZES "\nEnter font sizes to be displayed in ASL requesters. Enter nothing after last size!\n\n")
(set #MSG_ANOTHER_FONT "\nFont has been installed successfully!\n\nDo you want to install one more font?")
(set #MSG_ANOTHER_YES "\x1B[2pYes")
(set #MSG_ANOTHER_YES2 "Yes, using the same data for the .otag file")
(set #MSG_ANOTHER_NO "No.")
(set #MSG_DONE "\nInstallation complete!")
(set #MSG_ABORT "\nInstallation aborted!")
(set #MSG_NOHELP "I can't help you!")
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
;| |
;* P R O C E D U R E S *
;| |
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
;#FONT and #QUERY_ID must be set
;result in #RESULT
(procedure P_GetTTInfo
(
(set #RESULT "")
(if (= 0 (run ("Tools/GetTTInfo \"%s\" %s >ENV:FREEDOM_TEMP_RESULT" #FONT #QUERY_ID)))
(
(set #RESULT (getenv "FREEDOM_TEMP_RESULT"))
(if (> (strlen #RESULT) 0)
(
(set #RESULT (substr #RESULT 0 (- (strlen #RESULT) 1)))
)
)
(delete "ENV:FREEDOM_TEMP_RESULT")
)
)
)
)
;--------------------------------------------------------------------------
;#ICON and #TOOLTYPE must be set
;result in #RESULT
(procedure P_GetToolType
(
(set #RESULT "")
(if (= 0 (run ("Tools/GetToolType \"%s\" %s >ENV:FREEDOM_TEMP_RESULT" #ICON #TOOLTYPE)))
(
(set #RESULT (getenv "FREEDOM_TEMP_RESULT"))
(if (> (strlen #RESULT) 0)
(
(set #RESULT (substr #RESULT 0 (- (strlen #RESULT) 1)))
)
)
(delete "ENV:FREEDOM_TEMP_RESULT")
)
)
)
)
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
;| |
;* S T A R T *
;| |
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
(if (= 0 (askbool
(prompt #MSG_INTRO)
(default 1)
(help #MSG_NOHELP)
)
)
(
(exit #MSG_ABORT (quiet))
)
)
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
;| |
;* G E T S C R I P T C O N F I G F R O M T O O L T Y P E *
;| |
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
(set #ICON "Install TrueType Font")
(set #TOOLTYPE "YSIZEFACTORHIGH")
(P_GetToolType)
(if (<> "" #RESULT) (set #tt_ysizefactorhigh #RESULT) (set #tt_ysizefactorhigh ""))
(set #TOOLTYPE "YSIZEFACTORLOW")
(P_GetToolType)
(if (<> "" #RESULT) (set #tt_ysizefactorlow #RESULT) (set #tt_ysizefactorlow ""))
(set #TOOLTYPE "SPACEWIDTH")
(P_GetToolType)
(if (<> "" #RESULT) (set #tt_spacewidth #RESULT) (set #tt_spacewidth ""))
(set #TOOLTYPE "ASLSIZES")
(P_GetToolType)
(if (<> "" #RESULT)
(
(set #t_aslsizes (cat #RESULT " "))
;** convert spaces to LFs
(set #len (strlen #t_aslsizes))
(set #i 0)
(set #wasspace 0)
(set #tt_aslsizes "")
(while (< #i #len)
(
(if (= " " (substr #t_aslsizes #i 1))
(if (= 0 #wasspace)
(
(set #tt_aslsizes (cat #tt_aslsizes "\n"))
(set #wasspace 1)
)
)
(
(set #tt_aslsizes (cat #tt_aslsizes (substr #t_aslsizes #i 1)))
(set #wasspace 0)
)
)
(set #i (+ #i 1))
)
)
(set #tt_aslsizes (cat #tt_aslsizes "\n"))
)
(set #tt_aslsizes "")
)
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
;| |
;* G E T P A T H F O R T R U E T Y P E F I L E S *
;| |
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
(set #fontpath "")
(while (= "" #fontpath)
(
(set #fontpath (getenv "FREEDOM_FONT_PATH"))
(if (= "" #fontpath)
(message #MSG_NOFONTDIR)
)
)
)
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
;| |
;* W H I L E " O N E M O R E F O N T T O I N S T A L L " * *
;| |
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
(set #defaultpath (expandpath "RAM:"))
(set #again 1)
(set #sameotag 0)
(set #defaultagainanswer 2)
(set #firstloop 1)
(while (= 1 #again)
(
(set #fileok 0)
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
;| |
;* A S K F O R T R U E T Y P E F I L E *
;| |
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
(while (= 0 #fileok)
(
(set #file
(expandpath
(askfile
(prompt #MSG_SELECTFONT)
(default #defaultpath)
(help #MSG_NOHELP)
)
)
)
(if (= 0 (exists #file))
(message #MSG_NOTEXIST)
(
(if (<> 0 (patmatch "(#?.ttf|#?.ttc)" #file))
(set #fileok 1)
(message #MSG_BADFILE)
)
)
)
)
)
(set #defaultpath (pathonly #file))
(set #fileonly (fileonly #file))
(set #fileonlyonly (substr #fileonly 0 (- (strlen #fileonly) 4)))
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
;| |
;* M A K E " . F O N T " A N D C O P Y T R U E T Y P E F I L E *
;| |
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
(run ("Tools/MakeOFont \"%s\"" (tackon #fontpath #fileonlyonly))
(prompt (#MSG_CREATE_FONT (cat #fileonlyonly ".font") #fontpath))
(help #MSG_NOHELP)
(confirm)
)
(set #ttdest (expandpath (tackon #fontpath "_truetype")))
;** to allow re-installing in same place
(if (<> #ttdest (pathonly #file))
(copyfiles
(prompt (#MSG_COPY_TT #fileonly #ttdest))
(source #file)
(dest #ttdest)
(help #MSG_NOHELP)
(confirm)
)
)
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
;| |
;* O T A G F I L E *
;| |
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
;*** otag
(if (= 0 #sameotag) (message #MSG_OTAG))
(set #FONT #file)
;-- FAMILYNAME ----------------------------------------------------
(set #QUERY_ID "FAMILYNAME")
(P_GetTTInfo)
(if (<> "" #RESULT)
(set #familyname #RESULT)
(set #familyname
(askstring
(prompt #MSG_OTAG_FAMILY)
(help #MSG_NOHELP)
(default #fileonlyonly)
)
)
)
(if (= 0 #sameotag)
(
;-- YSIZEFACTORHIGH ---------------------------------------
(if (= "" #tt_ysizefactorhigh)
(set #ysizefactorhigh
(askstring
(prompt #MSG_OTAG_YSIZEFACTOR_HIGH)
(help #MSG_NOHELP)
(default "8782")
)
)
(set #ysizefactorhigh #tt_ysizefactorhigh)
)
;-- YSIZEFACTORLOW ----------------------------------------
(if (= "" #tt_ysizefactorlow)
(set #ysizefactorlow
(askstring
(prompt #MSG_OTAG_YSIZEFACTOR_LOW)
(help #MSG_NOHELP)
(default "10034")
)
)
(set #ysizefactorlow #tt_ysizefactorlow)
)
;-- SPACEWIDTH --------------------------------------------
(if (= "" #tt_spacewidth)
(set #spacewidth
(askstring
(prompt #MSG_OTAG_SPACEWIDTH)
(help #MSG_NOHELP)
(default "0.039703")
)
)
(set #spacewidth #tt_spacewidth)
)
;-- ISFIXED -----------------------------------------------
(set #QUERY_ID "ISFIXED")
(P_GetTTInfo)
(if (<> "" #RESULT)
(set #isfixed #RESULT)
(if (= 0 (askbool
(prompt #MSG_OTAG_FIXED)
(help #MSG_NOHELP)
(default 1)
)
)
(set #isfixed "1")
(set #isfixed "0")
)
)
;-- ISSERIF -----------------------------------------------
(set #QUERY_ID "ISSERIF")
(P_GetTTInfo)
(if (<> "" #RESULT)
(set #isserif #RESULT)
(if (= 0 (askbool
(prompt #MSG_OTAG_SERIF)
(help #MSG_NOHELP)
(default 1)
)
)
(set #isserif "1")
(set #isserif "0")
)
)
;-- WEIGHT ------------------------------------------------
(set #QUERY_ID "WEIGHT")
(P_GetTTInfo)
(if (<> "" #RESULT)
(set #stemweight #RESULT)
(
(set #sw
(askchoice
(prompt #MSG_OTAG_STEMWEIGHT)
(choices #MSG_SW_ULTRATHIN
#MSG_SW_EXTRATHIN
#MSG_SW_THIN
#MSG_SW_EXTRALIGHT
#MSG_SW_LIGHT
#MSG_SW_DEMILIGHT
#MSG_SW_SEMILIGHT
#MSG_SW_BOOK
#MSG_SW_MEDIUM
#MSG_SW_SEMIBOLD
#MSG_SW_DEMIBOLD
#MSG_SW_BOLD
#MSG_SW_EXTRABOLD
#MSG_SW_BLACK
#MSG_SW_EXTRABLACK
#MSG_SW_ULTRABLACK)
(help #MSG_NOHELP)
(default 7)
)
)
(if (= 0 #sw) (set #stemweight "8"))
(if (= 1 #sw) (set #stemweight "24"))
(if (= 2 #sw) (set #stemweight "40"))
(if (= 3 #sw) (set #stemweight "56"))
(if (= 4 #sw) (set #stemweight "72"))
(if (= 5 #sw) (set #stemweight "88"))
(if (= 6 #sw) (set #stemweight "104"))
(if (= 7 #sw) (set #stemweight "120"))
(if (= 8 #sw) (set #stemweight "136"))
(if (= 9 #sw) (set #stemweight "152"))
(if (= 10 #sw) (set #stemweight "168"))
(if (= 11 #sw) (set #stemweight "184"))
(if (= 12 #sw) (set #stemweight "200"))
(if (= 13 #sw) (set #stemweight "216"))
(if (= 14 #sw) (set #stemweight "232"))
(if (= 15 #sw) (set #stemweight "248"))
)
)
;-- ITALIC ------------------------------------------------
(set #QUERY_ID "ISITALIC")
(P_GetTTInfo)
(if (<> "" #RESULT)
(set #slantstyle #RESULT)
(set #slantstyle
(cat
(askchoice
(prompt #MSG_OTAG_SLANTSTYLE)
(choices #MSG_SLANTSTYLE_NORMAL #MSG_SLANTSTYLE_ITALIC #MSG_SLANTSTYLE_LEFTITALIC)
(help #MSG_NOHELP)
(default 0)
)
)
)
)
;-- HORIZSTYLE --------------------------------------------
(set #QUERY_ID "HORIZSTYLE")
(P_GetTTInfo)
(if (<> "" #RESULT)
(set #horizontalstyle #RESULT)
(
(set #hs
(askchoice
(prompt #MSG_OTAG_HORIZSTYLE)
(choices #MSG_HS_ULTRACOMPRESSED
#MSG_HS_EXTRACOMPRESSED
#MSG_HS_COMPRESSED
#MSG_HS_CONDENSED
#MSG_HS_NORMAL
#MSG_HS_SEMIEXPANDED
#MSG_HS_EXPANDED
#MSG_HS_EXTRAEXPANDED)
(help #MSG_NOHELP)
(default 4)
)
)
(if (= 0 #hs) (set #horizontalstyle "16"))
(if (= 1 #hs) (set #horizontalstyle "48"))
(if (= 2 #hs) (set #horizontalstyle "80"))
(if (= 3 #hs) (set #horizontalstyle "112"))
(if (= 4 #hs) (set #horizontalstyle "144"))
(if (= 5 #hs) (set #horizontalstyle "176"))
(if (= 6 #hs) (set #horizontalstyle "208"))
(if (= 7 #hs) (set #horizontalstyle "240"))
)
)
;-- SIZES -------------------------------------------------
(if (= "" #tt_aslsizes)
(
(set #sizesdone 0)
(set #sizes "")
(set #sizemsg "")
(while (= 0 #sizesdone)
(
(set #size
(askstring
(prompt #MSG_OTAG_SIZES #sizemsg)
(help #MSG_NOHELP)
(default "")
)
)
(if (= "" #size)
(
(set #sizesdone 1)
(set #sizes (cat #sizes "\n"))
)
(
(set #sizes (cat #sizes #size "\n"))
(set #sizemsg (cat #sizemsg #size " "))
)
)
)
)
)
(set #sizes #tt_aslsizes)
)
;--
)
)
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
;| |
;* M A K E R E S P O N S E F I L E F O R " M A K E O T A G " *
;| |
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
(textfile
(prompt " ")
(dest "T:makeotag_response")
(append "freedom\n")
(append #familyname)
(append "\n\n\n\n\n")
(append #ysizefactorhigh)
(append "\n")
(append #ysizefactorlow)
(append "\n")
(append #spacewidth)
(append "\n")
(append #isfixed)
(append "\n")
(append #isserif)
(append "\n")
(append #stemweight)
(append "\n")
(append #slantstyle)
(append "\n")
(append #horizstyle)
(append "\n")
(append "\n")
(append #sizes)
(help #MSG_NOHELP)
)
(run ("Tools/MakeOTag >NIL: <t:makeotag_response \"%s\" \"%s\"" (tackon #fontpath #fileonlyonly) #fileonly)
(prompt "")
(help #MSG_NOHELP)
)
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
;| |
;* O N E M O R E F O N T ? *
;| |
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
(set #oncemore
(askchoice
(prompt #MSG_ANOTHER_FONT)
(choices #MSG_ANOTHER_YES #MSG_ANOTHER_YES2 #MSG_ANOTHER_NO)
(choices #MSG_ANOTHER_YES #MSG_ANOTHER_YES2 #MSG_ANOTHER_NO)
(default #defaultagainanswer)
(help #MSG_NOHELP)
)
)
(set #defaultagainanswer #oncemore)
(if (= 2 #oncemore)
(set #again 0)
(
(set #again 1)
(if (= 1 #oncemore)
(set #sameotag 1)
(set #sameotag 0)
)
)
)
)
)
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
;| |
;* T H E E N D *
;| |
;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
(exit #MSG_DONE (quiet))